package com.wayne.leetcode.problems;

public class Solution1041 {
    public static boolean isRobotBounded(String instructions) {
      int x =0,y =0;
      int ins = 0;
      for (int i = 0; i <instructions.length() ; i++) {
        char c = instructions.charAt(i);
        switch (c) {
          case 'L' : ins +=3 ; ins %=4;break; // 左转
          case 'R' : ins ++  ; ins %=4;break; // 右转
          default:  // 前进
            switch (ins) {
              case 1: x++;break; // 东
              case 2: y--;break; // 南
              case 3: x--;break; // 西
              default: y++;break; // 北
            }
        }
      }
      // 执行一轮后 方向朝北且不是原点才能摆脱循环
      return ins!=0 || (x==0 && y==0) ;
    }

  public static void main(String[] args) {
    System.out.println(isRobotBounded("GGLLRR"));
  }
}